//日志
#include <cstdio>
#include <iostream>
#include <string>
#include <stdarg.h>

#define DEBUG 0
#define NANOR 1
#define WANG 2
#define ERROR 3
#define FAIRL 4
//#define DEBUG 0


const char* debug[]={
    "DEBUG",
    "NANOR",
    "WANG",
    "ERROR",
    "FAIRL"
};

// 完整的日志功能，至少: 日志等级 时间 支持用户自定义(日志内容, 文件行，文件名)
#define LOGFILE "./threadpool.log"


void logMessage(int level,const char* format,...)
{
   #ifndef DEBUG_SHOW
    if(level== DEBUG) return;
#endif
    char stdbuffer[1024];
    time_t timespace=time(nullptr);
    snprintf(stdbuffer,sizeof stdbuffer,"[%s] [%ld] ", debug[level], timespace);

    
    char logBuffer[1024]; //自定义部分
    va_list args;//类型
    va_start(args, format);//初始化
    // vprintf(format, args);
    vsnprintf(logBuffer, sizeof logBuffer, format, args);//打印
    va_end(args);//结束

    FILE *fp = fopen(LOGFILE, "a");
    // printf("%s%s\n", stdBuffer, logBuffer);
    fprintf(fp, "%s%s\n", stdbuffer, logBuffer);
    fclose(fp);

}
